// pages/questionnaire/questionnaire.js
const app = getApp();
Page({
	data: {
		sid     : 0,
		dataList: [],   //题目列表
		dataQn  : {},   //问卷信息
		pageType: 1,    //标记当前页面的状态，1是显示问题内容，0是提交数据之后，显示结果内容
		nextSid : 0,     //用于判断显示高级问卷按钮的参数跳转
		nextPrice:0,
		computedLevel:'X', //结果的评分

	},
	onLoad: function (options) {
		let that = this
		// 用于开发时，直接进入本页没有带sid参数的报错，但实际使用中是会带参数进来的
		Object.keys(options).length >0 && this.setData({ sid: options.sid }) 
		// 请求题库
		this.loadQuestionNaire();
	},
	/////////////////////////////////////////////// 支付相关 ///////////////////////////////////////////
	/////////////////////////////////////////////// 支付相关 ///////////////////////////////////////////
	/////////////////////////////////////////////// 支付相关 ///////////////////////////////////////////
	/**
     * 步骤一：获得预支付订单号prepay_id。
     * 备注：于小程序来说，深究GET与POST无意义了。详情参见GET与POST各自的用武之地。在小程序体现不了。
     */
	initPrepay: function (e) {
		
		// 发送请求
		wx.request({
			url: `${app.globalData.server_Url}payfee.php`,
			header: {'Content-Type': 'application/x-www-form-urlencoded'},
			method: 'POST',
			data:{
				openid:wx.getStorageSync('openid'),
				fee: e.currentTarget.dataset.price
			},
			success: function (res) {
				console.log(res.data);
				console.log('调起支付');
				wx.requestPayment({
					'timeStamp': res.data.timeStamp,
					'nonceStr': res.data.nonceStr,
					'package': res.data.package,
					'signType': 'MD5',
					'paySign': res.data.paySign,
					'success': function (res) {
						console.log('success');
						wx.showToast({
							title: '支付成功',
							icon: 'success',
							duration: 3000
						});
					},
					'fail': function (res) {
						console.log('fail');
					},
					'complete': function (res) {
						console.log('complete');
					}
				});
			},
			fail: function (res) {
				console.log(res.data)
			}
		});
	},

  


	/////////////////////////////////////////////// 问卷相关 ///////////////////////////////////////////
	/////////////////////////////////////////////// 问卷相关 ///////////////////////////////////////////
	/////////////////////////////////////////////// 问卷相关 ///////////////////////////////////////////

	//加载题目列表
	loadQuestionNaire() { 
		wx.showLoading({ title: '正在加载中',mask:true})
		wx.request({
			url   : `${app.globalData.server_request_baseUrl}/qn_questionList.php`,
			method: "GET",
			data  : { sid: this.data.sid },
			header: { 'Content-Type': 'application/json' },
			success: res => {
				this.setData({
					pageType     : 1,        // 状态改为显示结果
					nextSid      : 0,       // 对应的高级题库id
					nextPrice    : 0,     // 对应的高级题库的价格
					computedLevel: '清空评价',  // 评价
					dataQn: res.data.dataQn,
					dataList: res.data.dataList,
				})
				wx.hideLoading()
			}
		})
	},
	// 提交问卷
	formSubmit(e) {
		let that  = this
		
		wx.showLoading({title:'评分中...',mask:true})
		//把问卷的信息顺便提交到后台，省得后台再处理一次
		let submitData  = Object.assign(
			this.data.dataQn,
			{unionid:wx.getStorageSync('unionid')},
			{openid:wx.getStorageSync('openid')},
			{submitData:JSON.stringify(e.detail.value).replace(/["{}]/gi,'')}
		);
		// console.log('form发生了submit事件，携带数据为：', e.detail.value)
		console.log('这是要提交的数据：',submitData);
		// 提交数据
		wx.request({
			url   : `${app.globalData.server_request_baseUrl}qn_submit.php`,
			method: "POST",
			data  : submitData,
			header: {'content-type': 'application/x-www-form-urlencoded'},
			success: function(res) {
				console.log(res.data)
				setTimeout(() => {
					that.setData({
						pageType     : 0,                      // 状态改为显示结果
						dataList     : [],                     // 清空问题列表
						dataQn       : {},                     // 清空问卷信息
						nextSid      : res.data.nextSid,       // 对应的高级题库id
						nextPrice    : res.data.nextPrice,     // 对应的高级题库的价格
						computedLevel: res.data.computedLevel  // 评价
					})
					wx.hideLoading()
				}, 500);	
			}
		})
	},
	//跳转到高级问卷
	paytoAdv(event){
		let sid = event.currentTarget.dataset.advsid
		console.log('要跳往高级题库的id', sid)
		//这里处理支付

		//切换高级题库
		this.setData({
			sid: sid
		}, () => { 
			console.log('支付成功，读取了高级题库')
			this.loadQuestionNaire()
		})
		
		// 跳转到高级题库
		// wx.redirectTo({
		// 	url: `/pages/questionnaire/questionnaire?sid=${sid}`,
		// })

	},
	// 重新填写
	formReset() {
		console.log('form发生了reset事件')
	},
	/////////////////////////////////////////////// 其它 事件 ///////////////////////////////////////////
	/////////////////////////////////////////////// 其它 事件 ///////////////////////////////////////////
	/////////////////////////////////////////////// 其它 事件 ///////////////////////////////////////////
	// 分享
	onShareAppMessage: function (res) {
		return {
			title: '分享法管小程序',
			path: '/pages/intro/intro',
			imageUrl: `${app.globalData.server_Url}/weapp_res/share.png`,  //用户分享出去的自定义图片大小为5:4,
			success: function (res) {
			// 转发成功
				wx.showToast({
					title: "分享成功",
					icon: 'success',
					duration: 2000
				})
			},
			fail: function (res) { },
		}
	},
	// 松开按钮，按钮可点击
	looksen: function () {
		this.setData({
			buttonSatet: false,
		})
	},
	//弹窗消息显示
	myShowModel: function (msg) {
		wx.showModal({
			title: '提示',
			showCancel: false,
			content: msg,
		})
	}
})